# DropApp Pro

Удобный инструмент для бессерверного запуска контейнеров ваших приложений без необходимости адаптации исходного кода

## Prerequisites
- Установленный Make
- Установленный Docker
- Установленный Helm
- Установленный Go v1.22

## Installation

Для локальной развертки DropApp Pro необходимо выполнить следующие шаги:  
  
1) Создать ресурсы и бинарные файлы для сервисов DropApp Pro

```bash
make build
```

2) Создать chart'ы для развертывания ресурсов DropApp Pro

```bash
cd build
cd make build
```

3) Развернуть созданные ресурсы при помощи Helm

```bash
helm install <full name override> <chart name>/ --values <chart name>/values.yaml
```

## Usage

1) На этапе генерации Helm chart'ов пользователю необходимо задать свое окружение  
Для удобной настройки различных окружений в папке  *environments/development/v8s* находится файл *values-env.yaml*, позволяющий произвести настройку.

2) Для запуска вашего приложения *serverless*, необходимо использовать созданный compose.yml файл следующего формата

```
"compose": {
                "version": "2",
                "services": {
                    "postgres": {
                        "image": "postgres",
                        "deploy": {
                            "resources": {
                                "limits": {
                                    "cpus": 0.3,
                                    "memory": "500m"
                                }
                            }
                        },
                        "environment": {
                            "POSTGRES_USER": "",
                            "POSTGRES_PASSWORD": "",
                            "POSTGRES_DB": ""
                        },
                        "ports": [
                            "5432:5432"
                        ],
                        "volumes": [
                            "stor:/tmp/data/"
                        ]
                    },
                    "pgadmin": {
                        "deploy": {
                            "resources": {
                                "limits": {
                                    "cpus": 0.3,
                                    "memory": "400m"
                                }
                            }
                        },
                        "labels": {
                            "kompose.service.type": ""
                        },
                        "environment": {
                            "PGADMIN_DEFAULT_EMAIL": "",
                            "PGADMIN_DEFAULT_PASSWORD": ""
                        },
                        "ports": [
                            ""
                        ],
                        "image": ""
                    }
                },
                "volumes": {
                    "stor": null
                }
            }
```

## Contributing
[Файл с правилами приема доработок проекта](CONTRIBUTION.md)

## License
[Файл с лицензией](LICENSE.file)
